With the rise of the Internet of Things, there is an increasing focus on open source IoT platforms for flexibility, cost-effectiveness, interoperability & independence. Most of these IoT platforms provide end-to-end lifecycle management and accelerate development, deployment, device management, connectivity, integration, management, visualization, and analytics.
Hardware (sensors, devices, etc.), Software (plugins, drivers, etc.), Communication (protocols support like MQTT), IoT Gateway support, and Cloud support (device management through the cloud, etc.) are key capabilities required in an IoT platform.
IoT Terms
Before we deep dive into IoT platforms, here is a quick summary of key IoT terms, if you are not familiar with them:
- Single-Board Microcontroller – It is an IoT device for development purposes with a microprocessor, input/output functions, memory, and other features built on a single circuit board. Examples are Raspberry Pi, Orange Pi, Banana Pi, Beagleboard, Omega2, Arduino Uno, etc.
- IoT platform – Gartner defines it as an “on-premises software suite or a cloud service that monitors and may manage and control various types of endpoints, often via applications business units deploy on the platform.”
- IoT gateway – is a specific type of IoT hardware device or software program that connects sensors, devices, and systems to the cloud. It typically supports many connection protocols such as Bluetooth, ZigBee, Ethernet, etc.
- IoT Connectivity Protocols – IoT devices need lightweight connectivity protocols like MQTT, WebSockets, etc. MQTT is fully open, asynchronous, and allows for arbitrary message formats unlike HTTP, which is synchronous.
Here are emerging open source IoT platforms, which are getting popular with a sneak preview of their capabilities & architecture:
#1 – Thingsboard
Link: https://thingsboard.io/
Key Features
- Opensource with support for rapid development, management, and scaling of IoT projects
- It has solutions available as Cloud support, community edition, professional edition, billing/licensing server, and analytics server.
- Key capabilities include device provisioning & management, data analytics, telemetry support, workflow-based device lifecycle, interactive dashboard, and in-built rule engine are key features.
Architecture
#2 – KAA
Link: https://www.kaaproject.org/
Key Features
- End-to-end IoT platform for enterprise IoT projects based on Microservices architecture
- Device management – applies digital twin concept, supports device authentication
- Data collection, analytics, visualization – supports data collection from device & IoT gateway, buffering support, and analytics using time-series data. Integrates with an opensource version of Elasticsearch (using Kibana for visualization)
- Connectivity – supports both MQTT & HTTP and extensible for other IoT protocols
- Alerts & notifications – supports Email, SMS (push-based notifications) and alerting mechanism
- Other features include multi-tenancy in the cloud with data isolation, over the air software updates to devices (push & pull), remote command execution, and configuration management
Architecture
#3 – SiteWhere
Link: https://sitewhere.io/
Key Features
- End-to-end IoT platform for enterprise IoT projects based on Microservices architecture (applying 12-factor app principles)
- Supports Kubernetes deployment out-of-the-box with Cloud deployment (AWS, Azure, Google) or an on-premises deployment
- Supports Service Mesh using Istio & Centralized Configuration Manager with Zookeeper
- Performance savvy using gRPC instead of REST for communication
- Other features include multi-tenancy in the cloud with data isolation, device management, data privacy, distributed cloud-native storage with Rook.io, and event data streaming pipeline.
Architecture
#5 – DeviceHub
Link: https://devicehive.com/
Key Features
- End-to-end IoT solution with consulting support and commercial support.
- Supports device enablement, visualization, integration with devices, security, machine learning, cloud support, and many more.
- Industry specific solutions available for insurance, retail, automotive, energy & utilities, wearables, travel & hospitality, etc.
- Support for Blockchain for smart contracts and automated payments between devices
- Microservices based architecture with PostgreSQL as database and Hazelcast for caching
Architecture
#6 – Mainflux
Link: https://www.mainflux.com/
Key Features
- Offering end-to-end, open-source patent-free IoT platform, edge computing gateway and consulting services
- Supports on-premises, cloud or hybrid deployment model
- Full stack capabilities developed as microservices containerized by Docker and orchestrated with Kubernetes
- Support for multiple protocols and 3rd party devices
- Has IoT Edge Gateway support with additional security mechanism
Architecture
Apart from these, there are other IoT platforms worth considering such as Zetta (Node.js based, API-first), ThingsSpeak (focused on IoT analytics using MATLAB), Distributed Services Architecture (platform & toolkit based), OpenRemote, Thinger, and the list goes on.
Also, the following are helping to create standards or community for IoT:
- EclipseIoT (a community for IoT technologies)
- Open Connectivity Foundation (creating standards for IoT)
- OpenIoT (knowledge-sharing platform for IoT)
To summarize, each IoT platform provides a standard set of capabilities but differs in terms of specialized features. As there is no silver bullet to any problem, based on your requirements, need to map your requirements with vendor capabilities to choose the right solution.
Follow @ankurkumarz Follow @VedcraftTeam